package ae.pcfc.cldos.online.common.clddb.domain;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.hibernate.envers.Audited;

import ae.pcfc.cldos.online.common.domain.BaseEntity;


/**
 * The persistent class for the T_CLDOS_PERSONAL_DETAILS database table.
 * 
 */
@Entity
@Table(name="T_CLDOS_NOC_LETTER")
@Audited
public class NocLetter extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	public static final String EMPLOYEE_ID = "nlEmployeeId";
	
	@Id
	@GeneratedValue(generator="SQ_CLDOS_APP_ID")
	@GenericGenerator(name = "SQ_CLDOS_APP_ID",  strategy="foreign", parameters=@Parameter(name="property", value="AppMetaData"))
	@Column(name="APPLICATION_ID")
	private Long applicationId;
	
	@Column(name="NL_EMPLOYEE_ID")
	private String nlEmployeeId;
	
	@Column(name="NL_TEXT_FORMAT")
	private String nlTextFormat;
	
	@Column(name="NL_NOC_LETTER_TYPE")
	private String nlNocLetterType;
	
	@Column(name="NL_SIGNATURE")
	private String nlSignature;
	
	@Column(name="NL_TO")
	private String nlTo;
	
	@Column(name="NL_LOCATION")
	private String nlLocation;
	
	@Column(name="NL_COUNTRY")
	private String nlCountry;
	
	@Column(name="NL_PERIOD")
	private String nlPeriod;
	
	@Column(name="NL_LOSTTEXT")
	private String nlLostText;
	
	@Column(name="NL_PLATE_NO")
	private String nlPlateNo;
	
	@Column(name="NL_SHASY_NO")
	private String nlShasyNo;
	
	@Column(name="NL_MACHINE_NO")
	private String nlMachineNo;

	@Column(name="NL_CAR_OWNER")
	private String nlCarOwner;
	
	@Column(name="NL_CAR_COLOR")
	private String nlCarColor;
	
	@Column(name="NL_CAR_MODEL")
	private String nlCarModel;
	
	@Column(name="NL_CAR_TYPE")
	private String nlCarType;
	
	
	//bi-directional many-to-one association to AppMetaData
	@OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL, optional=true)
	@PrimaryKeyJoinColumn
	private AppMetaData AppMetaData;

	
	public NocLetter() {
	}

	public String getEvcEmployeeId() {
		return nlEmployeeId;
	}

	public void setEvcEmployeeId(String nlEmployeeId) {
		this.nlEmployeeId = nlEmployeeId;
	}

	public String getNlEmployeeId() {
		return nlEmployeeId;
	}

	public void setNlEmployeeId(String nlEmployeeId) {
		this.nlEmployeeId = nlEmployeeId;
	}

	public String getNlTextFormat() {
		return nlTextFormat;
	}

	public void setNlTextFormat(String nlTextFormat) {
		this.nlTextFormat = nlTextFormat;
	}

	public String getNlNocLetterType() {
		return nlNocLetterType;
	}

	public void setNlNocLetterType(String nlNocLetterType) {
		this.nlNocLetterType = nlNocLetterType;
	}

	public String getNlSignature() {
		return nlSignature;
	}

	public void setNlSignature(String nlSignature) {
		this.nlSignature = nlSignature;
	}

	public AppMetaData getAppMetaData() {
		return AppMetaData;
	}

	public void setAppMetaData(AppMetaData appMetaData) {
		AppMetaData = appMetaData;
	}

	public Long getApplicationId() {
		return applicationId;
	}

	public void setApplicationId(Long applicationId) {
		this.applicationId = applicationId;
	}

	public String getNlTo() {
		return nlTo;
	}

	public void setNlTo(String nlTo) {
		this.nlTo = nlTo;
	}

	public String getNlLocation() {
		return nlLocation;
	}

	public void setNlLocation(String nlLocation) {
		this.nlLocation = nlLocation;
	}

	public String getNlCountry() {
		return nlCountry;
	}

	public void setNlCountry(String nlCountry) {
		this.nlCountry = nlCountry;
	}

	public String getNlPeriod() {
		return nlPeriod;
	}

	public void setNlPeriod(String nlPeriod) {
		this.nlPeriod = nlPeriod;
	}

	public String getNlLostText() {
		return nlLostText;
	}

	public void setNlLostText(String nlLostText) {
		this.nlLostText = nlLostText;
	}

	public String getNlPlateNo() {
		return nlPlateNo;
	}

	public void setNlPlateNo(String nlPlateNo) {
		this.nlPlateNo = nlPlateNo;
	}

	public String getNlShasyNo() {
		return nlShasyNo;
	}

	public void setNlShasyNo(String nlShasyNo) {
		this.nlShasyNo = nlShasyNo;
	}

	public String getNlMachineNo() {
		return nlMachineNo;
	}

	public void setNlMachineNo(String nlMachineNo) {
		this.nlMachineNo = nlMachineNo;
	}

	public String getNlCarOwner() {
		return nlCarOwner;
	}

	public void setNlCarOwner(String nlCarOwner) {
		this.nlCarOwner = nlCarOwner;
	}

	public String getNlCarColor() {
		return nlCarColor;
	}

	public void setNlCarColor(String nlCarColor) {
		this.nlCarColor = nlCarColor;
	}

	public String getNlCarModel() {
		return nlCarModel;
	}

	public void setNlCarModel(String nlCarModel) {
		this.nlCarModel = nlCarModel;
	}

	public String getNlCarType() {
		return nlCarType;
	}

	public void setNlCarType(String nlCarType) {
		this.nlCarType = nlCarType;
	}



	
}